Collection Group
firestore で複数の Collection にまたがって検索できる仕組み
同じ名前の Collection のみらしい
注意点
同じ名前の Collection なら階層に関係なく検索対象になる
解決策は違う名前をつけること
それが無理なら、識別フラグを中に持たせる
セキュリティルールはコレクションの存在を取得できなくても有効であるようにすること
Firestore はデータを取得する前から機能しないといけない
Collection Group では、同名のコレクションすべてを検索できるため、XXX/user があれば YYY/user がある可能性がある
したがって {samePath=**}/userをつかってどのコレクションが存在しても適応できるルールにする必要がある。
200 index しか作成できない?
そもそもなぜ複数の階層の Collecion を作成するのか?
すべて同一階層ではだめなのか?
同一階層のデメリット
https://scrapbox.io/files/609153354d9abd001c88af55.png
クエリが複雑になる
セキュリティルールを組みやすい
サブコレクションを作るべきとき
親に基づいて検索することが多い
最初に直感的だと思うデータ構造が、だいたい正解らしい